package com.niiwoo.civet.trade.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;
import java.util.Optional;

/**
 * @Author: wuke
 * @Description:
 * @Date: Created in 10:56 2018/03/26
 */
public class LoanVoucherEnum {

    /**
     * 审核状态（1审核中，2通过，3不通过）
     */
    @AllArgsConstructor
    @Getter
    public enum AuditStatusEnum {
        IN_AUDIT((byte)1,"审核中"),
        PASS((byte)2,"通过"),
        NO_PASS((byte)3,"不通过");

        private Byte status;
        private String desc;

        public static AuditStatusEnum getByStatus(byte status) {
            Optional<AuditStatusEnum> auditStatusEnum =
                    Arrays.stream(values()).filter(value -> value.getStatus().byteValue() == status).findFirst();
            return auditStatusEnum.isPresent() ? auditStatusEnum.get() : null;
        }
    }

    /**
     * 是否展示（1展示，2不展示）
     */
    @AllArgsConstructor
    @Getter
    public enum IsShowEnum {
        SHOW((byte)1,"展示"),
        NO_SHOW((byte)2,"不展示");

        private Byte value;
        private String desc;

        public static IsShowEnum getByStatus(byte value) {
            Optional<IsShowEnum> isShowEnum =
                    Arrays.stream(values()).filter(v -> v.getValue().byteValue() == value).findFirst();
            return isShowEnum.isPresent() ? isShowEnum.get() : null;
        }
    }
}
